Skip to main content

hash取模(Hash分库分表是最普遍的方案)

案例规则

  • 用户ID是整数型的,要分2库,每个库表数量4表,一共8张表
  • 用户ID取模后,值是0到7的要平均分配到每张表
A库ID = userId % 库数量 2 
表ID = userId / 库数量 2 % 表数量4
userIdid % 2 (库-取余)id /2 % 4 (表)
110
201
311
402
512
603
713
800
910

优点

保证数据较均匀的分散落在不同的库、表中,可以有效的避免热点数据集中问题

缺点

扩容不是很方便,需要数据迁移